package br.com.werp.regras.tesouraria.integracao;

import java.sql.Connection;
import java.sql.SQLException;
import java.util.List;
import java.util.ResourceBundle;

import br.com.werp.regras.geral.ErroPadrao;
import br.com.werp.regras.geral.integracao.MasterDAO;
import br.com.werp.regras.geral.util.Constantes;
import br.com.werp.regras.geral.vos.tabelas.Centro_resultado;
import br.com.werp.regras.geral.vos.tesouraria.CentroResultadoVO;


/**
 * @author Sobreira
 * Criado em 25/11/2004
 *
 */
public class CentroResultadoDAO extends MasterDAO {
	private static CentroResultadoDAO centroResultadoDAO;
	
    private CentroResultadoDAO(String banco) throws Exception {
        super(banco);
    }
    
    public static CentroResultadoDAO getCentroResultadoDAO()
    throws Exception {
    if (centroResultadoDAO == null) {
        ResourceBundle bundle = ResourceBundle.getBundle(Constantes.CONFIG);
        centroResultadoDAO = new CentroResultadoDAO(bundle.getString(Constantes.BANCO));
    }

    return centroResultadoDAO;
}

    public void inserirCentroRsultado(Object key,
        Centro_resultado centro_resultado) throws Exception {
        inserirVOGenericoIdentity(validarTransacao(key), centro_resultado,"ctrt_id");
    }

    public List obterCentroResulatdo(CentroResultadoVO centroResultadoVO)
        throws Exception {
        Connection conn = null;

        try {
            conn = getConexao();

            String where = " and stor_id = stem_setor and  stem_id = ctrt_setor ";
            String tabelas = " centro_resultado,setor_empresa,setor ";

            return pesquisarVO(conn, centroResultadoVO, where, tabelas,
                CentroResultadoVO.EXCLUIDAS);
        } finally {
            liberaConeccao(conn);
        }
    }

    public void removerCentroResultado(Object key,
        Centro_resultado centro_resultado)
        throws ErroPadrao, SQLException, Exception {
        excluirVO(validarTransacao(key), centro_resultado);
    }
}
